#include <iostream>
#include <vector>
#include "calculator_ui.h"
#include "math_lib.h"

// 版本号通过构建系统定义
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)

int main() {
    std::cout << "=== 高级计算器应用程序 ===" << std::endl;
    std::cout << std::endl;
    
    CalculatorUI ui;
    
    // 演示基本计算
    std::cout << "=== 基本计算演示 ===" << std::endl;
    ui.demonstrateBasicCalculations();
    
    // 演示几何计算
    std::cout << "\n=== 几何计算演示 ===" << std::endl;
    ui.demonstrateGeometryCalculations();
    
    // 演示统计计算
    std::cout << "\n=== 统计计算演示 ===" << std::endl;
    std::vector<double> data = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
    ui.demonstrateStatisticsCalculations(data);
    
    std::cout << "\n计算器应用程序演示完成!" << std::endl;
    
    return 0;
}